package com.sz.query.dao;

import com.sz.query.entity.Transfer;
import com.sz.query.vo.PageVO;
import com.sz.query.vo.TransferVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PostMapping;

import java.awt.print.Pageable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Mapper
public interface TransferDao {
    /**
     * 封装的vo条件查询寻
     * @param vo
     * @return
     */
    List<Transfer> getTransfers(@Param("vo")TransferVO vo);

    /**
     * 通过流水号查询交易记录表
     * @param dealNo
     * @return
     */
    Transfer getTransferByDealNo(String dealNo);

    /**
     *通过转账人查询交易记录表
     * @param vo
     * @return
     */
    List<Transfer> getTransferByName(@Param("vo") PageVO vo);

    /**
     *通过银行卡号查询交记录表
     * @param vo
     * @return
     */
    List<Transfer> getTransferByAccId(@Param("vo") PageVO vo);

    /**
     *
     * @param vo
     * @return
     */
    Integer getConditionRows(@Param("vo")TransferVO vo);

    /**
     *
     * @param vo
     * @return
     */
    Integer getTransferByNameRows(@Param("vo") PageVO vo);

    /**
     *
     * @param vo
     * @return
     */
    Integer getTransferByAccIdRows(@Param("vo") PageVO vo);

    List<Transfer> getTransferByTime(@Param("date1") String date1,@Param("date2") String date,@Param("status") Long status);

    List<Double> getTransferByNowIn(String accIn);

    List<Double> getTransferByNowOut(String accOut);

    List<Transfer> getTransferErr(@Param("vo") PageVO vo);
    Integer getTransferErrCount(@Param("vo") PageVO vo);


}
